<?php
if(!empty($_POST)) {
    
    $type = $_POST['type'];
    $value = $_POST['value'];
    $tag = $_POST['tag'];
    $monat = $_POST['monat'];
    $jahr = $_POST['jahr'];

    $date = $tag.'.'.$monat.'.'.$jahr;

    $error = false;

    //Einfache Überprüfung der Eingabevariablen durchführen
    if(!is_numeric($jahr)) {
        $error = true;
        echo "Datum nicht korrekt.";
    }
    if(!is_numeric($value)) {
        $error = true;
        echo "Verbrauch enthaelt ungueltige Zeichen.";
    }

    //Wenn kein Fehler vorhanden, Daten speichern
    if(!$error) {

        //Daten zu den jeweiligen definierten Types auslesen
        $base_prices_xml = simplexml_load_file("./xml/base_prices.xml");
        if($base_prices_xml) {
            foreach($base_prices_xml->base_price as $base_price) {
                $name = (string)$base_price->attributes()->type;
                $value = (string)$base_price->attributes()->value;
                $valid_from = (string)$base_price->attributes()->valid_from;
                $unit_price = (string)$base_price->attributes()->unit_price;
                $base_prices[$name][name] = $name;
                $base_prices[$name][value] = $value;
                $base_prices[$name][valid_from] = $valid_from;
                $base_prices[$name][unit_price] = $unit_price;
            }
        }

        //Bereits existierende Daten in simplexml-Objekt laden
        $data_xml = simplexml_load_file("./xml/data.xml");
        //Ueberpruefen ob Users bereits existiert
        if($data_xml) {
            //Neuen Eintrag erzeugen
            $input = $data_xml->addChild('input');
            $input->addAttribute('type', $type);
            $input->addAttribute('date', $date);
            $input->addAttribute('value', $value);
            $input->addAttribute('base_price', $base_prices[$type][value]);
            $input->addAttribute('unit_price', $base_prices[$type][unit_price]);;
            $data_xml->asXML("./xml/data.xml"); //Neues XML-Dokument speichern
            echo "Daten gespeichert.";
        }
    }
}

//Definierte Types auslesen und fuer Ausgabe in Array schreiben
$types_xml = simplexml_load_file("./xml/types.xml");
if($types_xml) {
    $i = 0;
    foreach($types_xml->type as $type) {
        $number = (int)$type->attributes()->type_id;
        $name = (string)$type->attributes()->type_name;
        $types[$number] = $name;
        $i++;
    }
}

//Ausgabe aufbauen
echo '<form action="insert.php" method="POST">';
echo 'Art: <select name="type" size="1">';
foreach($types as $type) {
    echo "<option>$type</option>";
}
echo '</select>';
echo '<p>Verbrauch: <input name="value" type="text" size="10" maxlength="10"></p>';
echo 'Tag: <select name="tag" size="1">';
for($i = 1;$i <= 31;$i++) {
    echo "<option>$i</option>";
}
echo '</select>';
echo 'Monat: <select name="monat" size="1">';
for($i = 1;$i <= 12;$i++) {
    echo "<option>$i</option>";
}
echo '</select>';
echo 'Jahr: <input name="jahr" type="text" size="4" maxlength="4">';
echo '<br /><input type="submit" value=" Eintragen ">';
echo '<input type="reset" value=" Verwerfen ">';
echo '</form>';

?>

<a href="http://localhost:8888/projekt/nkv">Zurueck zur Hauptseite</a>